<?php
// 输出Excel文件头，可把user.csv换成你要的文件名 
$sjj1=$_POST["sjj1"];//大于等于这个时间截
$sjj2=$_POST["sjj2"];//小于等于这个时间截
$GongDan=$_POST["GongDan"];//工單號
header('Content-Type: application/vnd.ms-excel'); 
header('Content-Disposition: attachment;filename="user.csv"'); 
header('Cache-Control: max-age=0'); 

// 从数据库中获取数据，为了节省内存，不要把数据一次性读到内存，从句柄中一行一行读即可 
$conn=mysql_connect("127.0.0.1:3306","root","tdled2018");
if (!$conn){
	die('Could not connect: ' . mysql_error());
}

mysql_select_db("chipdb", $conn);

mysql_query("set character set 'utf8'");//读库 

mysql_query("set names 'utf8'");//写库 

/*if(($sjj1==="" and $sjj2==="") and $GongDan===""){
	$sql = 'select * from chipsm'; 
}else*/
if($sjj1!=="" and $sjj2!=="" and $GongDan!==""){
	$sql = "SELECT * FROM `chipsm` WHERE DTT between '".$sjj1."' and '".$sjj2."' and `WO`='".$GongDan."'";
}elseif($sjj1!=="" and $sjj2!=="" and $GongDan===""){
	$sql = "SELECT * FROM `chipsm` WHERE DTT between '".$sjj1."' and '".$sjj2."'";
}elseif($sjj1==="" and $sjj2==="" and $GongDan!==""){
	$sql = "SELECT * FROM `chipsm` WHERE `WO`='".$GongDan."'";	
};

$stmt = mysql_query($sql); //stmt=查詢日期截或工單號

// 打开PHP文件句柄，php://output 表示直接输出到浏览器 
$fp = fopen('php://output', 'a'); 

// 输出Excel列名信息 
$head = array('序号','日期时间', '工单号', '成品料号', '芯片料号', '芯片规格', '芯片电压', '芯片亮度', '芯片波长','工单芯片数量', '扫描品号', '扫描批号', '扫描规格', '扫描电压小', '扫描电压大', '扫描亮度小', '扫描亮度大', '扫描波长小', '扫描波长大', '数量', '二维码内容' , '外键' , '平均电压' , '平均亮度' , '平均波长' , '生管备注'); 
foreach ($head as $i => $v) { 
// CSV的Excel支持GBK编码，一定要转换，否则乱码 
$head[$i] = iconv('utf-8', 'gbk', $v); 
} 

// 将数据通过fputcsv写到文件句柄 
fputcsv($fp, $head); 

// 计数器 
$cnt = 0; 
// 每隔$limit行，刷新一下输出buffer，不要太大，也不要太小 
$limit = 100000; 

// 逐行取出数据，不浪费内存 
while ($row = mysql_fetch_row($stmt)){ 

$cnt ++; 
if ($limit == $cnt) { //刷新一下输出buffer，防止由于数据过多造成问题 
ob_flush(); 
flush(); 
$cnt = 0; 
} 

foreach ($row as $i => $v) { 
$row[$i] = iconv('utf-8', 'gbk', $v); 
} 
fputcsv($fp, $row); 
} 
fclose($fp); //最后要关闭资源
?>
